/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.grupecinc.model.dao;

import br.grupecinc.conexaoBD.SistemaDAO;
import br.grupecinc.model.entity.Cadastro;
import br.grupecinc.model.entity.Mensalidade;
import java.util.List;
import javax.persistence.Query;

/**
 *
 * @author Kaynan
 */
public class MensalidadeBD {
    
    public List<Cadastro> consultaMensalidade(){
        Query query = SistemaDAO.createNamedQuery("MensalidadeBy");
        return query.getResultList();
    }
    
    public List<Cadastro> consultaMensalidade(String dataPagamento){
        String sql = "SELECT mensalidade FROM Mensalidade mensalidade where mensalidade.dataPagamento= :dataPagamento";
        Query query = SistemaDAO.createQuery(sql);
        query.setParameter("dataPagamento", dataPagamento);
        return query.getResultList();
    }
    
    public List<Cadastro> consultaMensalidade(Mensalidade mensalidade){
        String sql = "SELECT mensalidade FROM Mensalidade mensalidade, Cadastro cadastro where mensalidade.id= :cadastro.id";
        Query query = SistemaDAO.createQuery(sql);
        query.setParameter("cadastro", mensalidade);
        return query.getResultList();
    }
    
    
    public boolean incluirMensalidade(Mensalidade mensalidade){
        try {
            SistemaDAO.persistMensalidade(mensalidade);
            return true;
        } catch (Exception e) {
            System.out.println(e.getMessage());
            return false;
        }
    }
    
    public boolean alterarMensalidade(Mensalidade mensalidade){
        try {
            SistemaDAO.updateMensalidade(mensalidade);
            return true;
        } catch (Exception e) {
            System.out.println(e.getMessage());
            return false;
        }
    }
    
    public boolean removerMensalidade(Mensalidade mensalidade){
        try {
            SistemaDAO.removeMensalidade(mensalidade);
            return true;
        } catch (Exception e) {
            System.out.println(e.getMessage());
            return false;
        }
        
    }
    
}